#pragma once

#include "DeviceManager.h"
#include "WindowSetup.h"
#include "XmlConfigLoader.h"

class Engine : public GameObject, public Singleton<Engine>, public XmlConfigLoader
{
public:
	DECLARE_XML_CONFIG_LOADER;
	Engine(void);
	~Engine(void);

	HRESULT Init(void);
	HRESULT Uninit(void);

	virtual void OnSignal(GameObject * from, SignalCode code);
	virtual void OnTimer(UINT id);
	void Loop(void);

	WindowSetup _WindowSetup;
};

